package com.ayf.payment.game.api.service.sign.handler;

import com.ayf.payment.game.api.dto.platform.PaymentChannelDTO;
import com.ayf.payment.game.api.dto.sign.*;

/**
 * @Author: zh-liang
 * @Date: 2022-03-11 15:47
 */
public interface MerchantTwoSignHandler {

    /**
     * 二级商户账户申请
     */
    MerchantTwoApplyResDTO merchantTwoApply(MerchantTwoApplyReqDTO reqDTO, PaymentChannelDTO channel);

    /**
     * 二级商户账户状态查询
     */
    MerchantTwoSelectResDTO merchantTwoSelect(MerchantTwoSelectReqDTO reqDTO, PaymentChannelDTO channel);

    /**
     * 二级商户账户信息更新
     */
    MerchantTwoUpdateResDTO merchantTwoUpdate(MerchantTwoUpdateReqDTO reqDTO, PaymentChannelDTO channel);

    /**
     * 更新二级商户所属上级
     */
    MerchantTwoUpdateSuperResDTO merchantTwoUpdateSuper(MerchantTwoUpdateSuperReqDTO reqDTO, PaymentChannelDTO channel);

    /**
     * 二级商户账户申请异步处理
     */
    boolean merchantTwoApplyAsyncExec(MerchantTwoApplyAsyncReqDTO reqDTO, PaymentChannelDTO channel);
}
